﻿using System;
using System.Collections.Generic;
using System.Text;

namespace UnitTestProject1
{
    class Group6
    {

        public static int Method6(int i)
        {
            int result;
            if (i > 12 || i < 0) throw new ArgumentException("超出范围");
            result = (i == 1 || i == 0) ? 1: Method6(i - 1) * i;
            return result;

        }


        public static int[] Method14(int n)
        {
            if (n < 2)
            {
                throw new ArgumentException("请输入大于1的正整数");
            }
            List<int> result = new List<int>();//动态数组

            result.Add(2);//这里加入2是因为这个根号2向上取整后就是2，,就会满足2%2==0，下面的循环会过滤掉2
            for (int i = 3; i <= n; i++)
            {
                for (int j = 2; j <= Math.Ceiling(Math.Sqrt(i)); j++)//ceiling函数为向上取整函数
                //这里向上取整是希望过滤掉16,25,36这些平方数
                {
                    if (i % j == 0)
                    {
                        break;
                    }
                    if (j * j > i)
                    //因为任何一个数都不可能分解成两个大于其平方根的数的乘积
                    //所以当j取到大于i平方根的数时，还没有退出循环，说明i就是素数
                    {
                        result.Add(i);
                    }
                }

            }
            return result.ToArray();
        }






        public static void Method22(int n)
        {
            if (n > 9 || n < 1)
            {
                throw new Exception("请输入一个大于1且小于9的数字");
            }
            for (int i = 1; i <= n; i++)
            {
                for (int j = 1; j <= i; j++)
                {
                    Console.Write("{0}*{1} ", i, j);
                }
                Console.WriteLine();
            }
        }

        public static int Method30(int a)
        {
            int moreyear = 2;
            if (a == 1)
            {
                return 10 + moreyear;
            }
            else
            {
                return Method30(a - 1) + moreyear;
            }
        }

    }
}
